package com.medical.blood.service;

import com.github.binarywang.wxpay.bean.order.WxPayUnifiedOrderRequest;
import com.github.binarywang.wxpay.bean.order.WxPayUnifiedOrderResult;
import com.github.binarywang.wxpay.service.WxPayService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class WxPayService {

    @Autowired
    private WxPayService wxPayService; // 微信支付SDK服务（需配置appId、mchId等）

    /**
     * 调用微信支付统一下单接口
     * @param orderNo 订单编号
     * @param totalAmount 总金额（分）
     * @param openid 用户openid
     * @param notifyUrl 支付回调地址
     * @return 微信支付参数（供小程序调起支付）
     */
    public WxPayUnifiedOrderResult createWxPayOrder(String orderNo, int totalAmount, String openid, String notifyUrl) throws Exception {
        WxPayUnifiedOrderRequest request = new WxPayUnifiedOrderRequest();
        request.setOutTradeNo(orderNo); // 商户订单号
        request.setTotalFee(totalAmount); // 金额（分）
        request.setBody("精准采血检测服务"); // 商品描述
        request.setOpenid(openid); // 用户openid
        request.setNotifyUrl(notifyUrl); // 支付结果回调地址
        request.setTradeType("JSAPI"); // 小程序支付类型
        return wxPayService.createOrder(request);
    }
}